# Таймкоды к курсу по Node.js

Общее оглавление курса тут: [NodeJS.md](NodeJS.md)

## [Node.js Введение в технологию](https://youtu.be/WBcHgaoHh1k)

- [02:53  Основные идеи Node.js](https://youtu.be/WBcHgaoHh1k?t=173)
- [13:09  Приемущества/Недостатки JavaScript](https://youtu.be/WBcHgaoHh1k?t=789)
- [16:58  Что такое Node.js](https://youtu.be/WBcHgaoHh1k?t=1018)
- [20:52  Начало работы с Node.js](https://youtu.be/WBcHgaoHh1k?t=1252)
- [25:00  Встроенный API](https://youtu.be/WBcHgaoHh1k?t=1500)
- [33:55  Менеджер пакетов NPM](https://youtu.be/WBcHgaoHh1k?t=2035)
- [40:45  Структура проектов](https://youtu.be/WBcHgaoHh1k?t=2445)
- [44:35  Файлы package.json, package-lock.json](https://youtu.be/WBcHgaoHh1k?t=2675)
- [52:03  Репозиторий NPM](https://youtu.be/WBcHgaoHh1k?t=3123)
- [59:50  Однопоточность и многопоточность](https://youtu.be/WBcHgaoHh1k?t=3590)
- [1:05:30  Межпроцессовое взаимодействие](https://youtu.be/WBcHgaoHh1k?t=3930)
- [1:06:08  Асинхронный ввод/вывод](https://youtu.be/WBcHgaoHh1k?t=3968)
- [1:11:11  Производительность](https://youtu.be/WBcHgaoHh1k?t=4271)
- [1:13:02  Память](https://youtu.be/WBcHgaoHh1k?t=4382)
- [1:16:21  Отладка и профилирование](https://youtu.be/WBcHgaoHh1k?t=4581)
- [1:21:27  Ошибки](https://youtu.be/WBcHgaoHh1k?t=4887)
- [1:26:42  Обновление кода и перезапуск](https://youtu.be/WBcHgaoHh1k?t=5202)
- [1:28:43  Ассинхронное программирование](https://youtu.be/WBcHgaoHh1k?t=5323)
- [1:30:00  Примеры внедрения, интеракт. TV](https://youtu.be/WBcHgaoHh1k?t=5400)
- [1:31:00  Сферы применения Node.js](https://youtu.be/WBcHgaoHh1k?t=5460)
- [1:36:44  Полезные материалы](https://youtu.be/WBcHgaoHh1k?t=5804)

## [Node.js в 2019 году (состояние и перспективы)](https://youtu.be/CUU49jjHloM)

- [00:45  Node.js уже 10 лет](https://youtu.be/CUU49jjHloM?t=45)
- [05:39  Обзор новых возможностей Node.js](https://youtu.be/CUU49jjHloM?t=339)
- [18:14  Возможности для паралельного программирования на Node.js](https://youtu.be/CUU49jjHloM?t=1094)
- [20:08  Как работают thread и process в Node.js](https://youtu.be/CUU49jjHloM?t=1208)
- [20:47  Обзор последствий отсутствия изоляции в Node.js](https://youtu.be/CUU49jjHloM?t=1247)
- [20:33  Проблемы отсутствия изоляции в Node.js](https://youtu.be/CUU49jjHloM?t=1233)
- [38:27  Способы изоляции Node.js кода](https://youtu.be/CUU49jjHloM?t=2307)
- [48:24  Изоляция и кластеризации с threads в Node.js v12](https://youtu.be/CUU49jjHloM?t=2904)
- [56:59  Области применения Node.js: Локальные приложения](https://youtu.be/CUU49jjHloM?t=3419)
- [1:02:02  Области применения Node.js: Сервера](https://youtu.be/CUU49jjHloM?t=3722)
- [1:05:49  Области применения Node.js: Клиенты](https://youtu.be/CUU49jjHloM?t=3949)
- [1:08:58  Области применения Node.js: Hardware](https://youtu.be/CUU49jjHloM?t=4138)
- [1:09:28  Редкие области применения Node.js](https://youtu.be/CUU49jjHloM?t=4168)
- [1:11:55  Не подходящие области применения Node.js](https://youtu.be/CUU49jjHloM?t=4315)
- [1:13:53  Deno как экспементальная альтернатива Node.js](https://youtu.be/CUU49jjHloM?t=4433)
- [1:21:02  Обзор ссылок по теме](https://youtu.be/CUU49jjHloM?t=4862)
- [1:23:06  Ответы на вопросы](https://youtu.be/CUU49jjHloM?t=4986)

## [Асинхронное программирование в Node.js и JavaScript](https://youtu.be/hY6Z6qNYzmc)

- [05:45  Callbacks](https://youtu.be/hY6Z6qNYzmc?t=345)
- [10:00  Async.js or analogues](https://youtu.be/hY6Z6qNYzmc?t=600)
- [15:47  Events](https://youtu.be/hY6Z6qNYzmc?t=947)
- [18:00  Promise](https://youtu.be/hY6Z6qNYzmc?t=1080)
- [25:20  async/await](https://youtu.be/hY6Z6qNYzmc?t=1520)
- [27:10  Functor + Chaining + composition](https://youtu.be/hY6Z6qNYzmc?t=1630)
- [30:49  Problems of callback, async.js, Proimise, async/await](https://youtu.be/hY6Z6qNYzmc?t=1849)
- [34:00  Add timeout to any function](https://youtu.be/hY6Z6qNYzmc?t=2040)
- [36:55  Make function cancelable](https://youtu.be/hY6Z6qNYzmc?t=2215)
- [37:59  More wrappers](https://youtu.be/hY6Z6qNYzmc?t=2279)
- [39:22  Promisify and Callbackify](https://youtu.be/hY6Z6qNYzmc?t=2362)
- [48:47  Sync function to async](https://youtu.be/hY6Z6qNYzmc?t=2927)
- [41:43  Sync function to Promise](https://youtu.be/hY6Z6qNYzmc?t=2503)
- [43:17  Convertors](https://youtu.be/hY6Z6qNYzmc?t=2597)
- [43:31  Metasync](https://youtu.be/hY6Z6qNYzmc?t=2611)
- [45:26  Function composition](https://youtu.be/hY6Z6qNYzmc?t=2726)
- [47:09  Adynchronous function composition](https://youtu.be/hY6Z6qNYzmc?t=2829)
- [47:58  Flow communication like in electronics](https://youtu.be/hY6Z6qNYzmc?t=2878)
- [50:06  Collectors](https://youtu.be/hY6Z6qNYzmc?t=3006)
- [59:17  Queue](https://youtu.be/hY6Z6qNYzmc?t=3557)

## [Обзор встроенного Node.js API](https://youtu.be/sOkjR-N6IAs)

- [01:45  Readline](https://youtu.be/sOkjR-N6IAs?t=105)
- [02:42  Stream](https://youtu.be/sOkjR-N6IAs?t=162)
- [06:51  Buffer](https://youtu.be/sOkjR-N6IAs?t=411)
- [09:15  Child Processes](https://youtu.be/sOkjR-N6IAs?t=555)
- [12:24  Cluster](https://youtu.be/sOkjR-N6IAs?t=744)
- [16:23  Crypto](https://youtu.be/sOkjR-N6IAs?t=983)
- [17:47  DNS](https://youtu.be/sOkjR-N6IAs?t=1067)
- [19:30  Domain](https://youtu.be/sOkjR-N6IAs?t=1170)
- [22:44  Events](https://youtu.be/sOkjR-N6IAs?t=1364)
- [23:16  Errors, Timers](https://youtu.be/sOkjR-N6IAs?t=1396)
- [27:26  File System](https://youtu.be/sOkjR-N6IAs?t=1646)
- [28:56  HTTP](https://youtu.be/sOkjR-N6IAs?t=1736)
- [31:49  OS](https://youtu.be/sOkjR-N6IAs?t=1909)
- [33:38  Process](https://youtu.be/sOkjR-N6IAs?t=2018)
- [41:55  Path](https://youtu.be/sOkjR-N6IAs?t=2515)
- [43:15  TLS/SSL](https://youtu.be/sOkjR-N6IAs?t=2595)
- [44:44  URL](https://youtu.be/sOkjR-N6IAs?t=2684)
- [45:22  Util](https://youtu.be/sOkjR-N6IAs?t=2722)
- [47:00  V8/VM](https://youtu.be/sOkjR-N6IAs?t=2820)
- [49:55  Worker Threads](https://youtu.be/sOkjR-N6IAs?t=2995)
- [50:56  ZLIB](https://youtu.be/sOkjR-N6IAs?t=3056)
- [51:55  Modules](https://youtu.be/sOkjR-N6IAs?t=3115)

## [Настройка среды: Node.js, npm, git, eslint](https://youtu.be/hSyA7tcNaCE)

## [Работа с файлами, буферами и файловыми потоками в Node.js](https://youtu.be/eQGBS15vUac)

- [01:39  Работа с файлами](https://youtu.be/eQGBS15vUac?t=99)
- [35:12  Буферы](https://youtu.be/eQGBS15vUac?t=2112)
- [43:46  Файловые потоки](https://youtu.be/eQGBS15vUac?t=2626)

## [Наблюдение за файловой системой в Node.js](https://youtu.be/29QINR9rruQ)

- [00:32  File watch](https://youtu.be/29QINR9rruQ?t=32)
- [04:40  Folder watch](https://youtu.be/29QINR9rruQ?t=280)
- [08:40  Server](https://youtu.be/29QINR9rruQ?t=520)
- [12:55  LiveReload](https://youtu.be/29QINR9rruQ?t=775)
- [24:50  LiverReload в impress](https://youtu.be/29QINR9rruQ?t=1490)

## [Консоль и командная строка в JavaScript и Node.js](https://youtu.be/5aSZyKi5BmE)

- [01:20  console](https://youtu.be/5aSZyKi5BmE?t=80)
- [16:00  readline](https://youtu.be/5aSZyKi5BmE?t=960)
- [21:35  cli](https://youtu.be/5aSZyKi5BmE?t=1295)
- [31:15  делаем красивый login screen](https://youtu.be/5aSZyKi5BmE?t=1875)

## [Архитектурный подход к программированию](https://youtu.be/d_vyO2CkiOc)

- [00:00:00  Когда нужна архитектура](https://youtu.be/d_vyO2CkiOc?t=0)
- [00:06:07  Принятие решений](https://youtu.be/d_vyO2CkiOc?t=367)
- [00:09:58  Типы связывания](https://youtu.be/d_vyO2CkiOc?t=598)
- [00:20:00  Ошибки](https://youtu.be/d_vyO2CkiOc?t=1200)
- [00:27:15  Принятие решений](https://youtu.be/d_vyO2CkiOc?t=1635)
- [00:37:05  Эволюция архитектурных решений](https://youtu.be/d_vyO2CkiOc?t=2225)
- [00:58:13  Схема современной архитектуры](https://youtu.be/d_vyO2CkiOc?t=3493)
- [01:01:40  субд в браузере](https://youtu.be/d_vyO2CkiOc?t=3700)
- [01:05:20  Альтернативные варианты](https://youtu.be/d_vyO2CkiOc?t=3920)
- [01:12:20  Как на самом деле](https://youtu.be/d_vyO2CkiOc?t=4340)
- [01:13:45  Архитектура мечты](https://youtu.be/d_vyO2CkiOc?t=4425)
- [01:16:45  Современные возможности и требования](https://youtu.be/d_vyO2CkiOc?t=4605)
- [01:25:20  Топологии](https://youtu.be/d_vyO2CkiOc?t=5120)
- [01:30:45  Итог](https://youtu.be/d_vyO2CkiOc?t=5445)

## [Модули, слои, структура проекта, песочницы в JavaScript и Node.js](https://youtu.be/O7A9chb573E)

- [01:00  Пример структуры приложения](https://youtu.be/O7A9chb573E?t=60)
- [14:23  Примеры плохо и хорошо структурированного кода](https://youtu.be/O7A9chb573E?t=863)
- [25:46  Песочницы](https://youtu.be/O7A9chb573E?t=1546)

## [Инверсия управления и внедрение зависимостей в Node.js](https://youtu.be/Fz86Fdjz-LM)

## [Межпроцессовое взаимодействие в Node.js](https://youtu.be/2OXWZFMvfbc)

## [Слои, связанность и связность кода в JavaScript](https://youtu.be/A3RpwNlVeyY)

## [Клиент-сервер на Node.js TCP и UDP, DNS](https://youtu.be/bHn-wTlTTR0)

- [02:25  TCP, простой пример клиент/сервер](https://youtu.be/bHn-wTlTTR0?t=145)
- [20:20  TCP, пример сложнее](https://youtu.be/bHn-wTlTTR0?t=1220)
- [29:26  UDP](https://youtu.be/bHn-wTlTTR0?t=1766)
- [35:14  DNS](https://youtu.be/bHn-wTlTTR0?t=2114)

## [HTTP сервер на Node.js (routing, cluster, IP sticky)](https://youtu.be/7Ufxj0oTaUo)

## [HTTP сессии и cookies на чистом Node.js](https://youtu.be/T_wKXuWW4Wo)

## [HTTP запросы в браузере и Node.js: XMLHttpRequest, fetch](https://youtu.be/wMMki2FEYGY)

## [Разработка API на Node.js (клиент и сервер)](https://youtu.be/-az912XBCu8)

## [WebSocket сервер на Node.js (электронные таблицы и чат)](https://youtu.be/Sf7ln3n16ws)

## [Скаффолдинг для API, UI и данных](https://youtu.be/lipkLQVqDd8)

## [Высоконагруженные распределенные приложения на Node.js](https://youtu.be/7tfZDABPvVs)

## [Отдача статики в Node.js](https://youtu.be/n_AdKIzbpBc)

## [Слой доступа к данным, курсор, транзакция](https://youtu.be/CRcSWtWVvrA)

## [Работа с базами данных в Node.js на примере PostgreSQL](https://youtu.be/2tDvHQCBt3w)

## [Паттерн Команда (Command) действие и параметры как объект](https://youtu.be/vER0vYL4hM4)

## [CQS, CQRS, Event Sourcing - Разделение запросов и модификации данных](https://youtu.be/T2tRc80Q8Qw)

## [Применение Event Sourcing (command, read, write, bus)](https://youtu.be/kFNtKiK2SPs)

## [Модель акторов для параллельных вычислений](https://youtu.be/xp5MVKEqxY4)

## [Утечки памяти в Node.js и JavaScript, сборка мусора и профилирование](https://youtu.be/0oZa64SB2wM)

## [Atomics, SharedArrayBuffer, worker_threads в Node.js](https://youtu.be/zLm8pnbxSII)

- [00:00  початок](https://youtu.be/zLm8pnbxSII?t=0)
- [03:53  про worker_threads](https://youtu.be/zLm8pnbxSII?t=233)
- [12:20  сепарація на worker i master](https://youtu.be/zLm8pnbxSII?t=740)
- [14:57  як використовувати worker](https://youtu.be/zLm8pnbxSII?t=897)
- [25:00  про Atomics](https://youtu.be/zLm8pnbxSII?t=1500)
- [41:00  Atomics i worker_threads робота в парі](https://youtu.be/zLm8pnbxSII?t=2460)

## [Семафоры и мьютексы в JavaScript и Node.js](https://youtu.be/JNLrITevhRI)

- [00:00  теорія](https://youtu.be/JNLrITevhRI?t=0)
- [08:55  приклад worker_threads без семафора](https://youtu.be/JNLrITevhRI?t=535)
- [15:29  про семафор, семафор бінарний, семафор з лічильником і Atomics](https://youtu.be/JNLrITevhRI?t=929)
- [53:52  мютекси та різниця між семафором](https://youtu.be/JNLrITevhRI?t=3232)
- [58:28  про deadlock](https://youtu.be/JNLrITevhRI?t=3508)
- [1:02:12  про livelock і стан гонки](https://youtu.be/JNLrITevhRI?t=3732)

## [Разделяемая память в многопоточном Node.js. Тимур Шемсединов. JS Fest 2019 Spring](https://youtu.be/KNsm_iIQt7U)

## [Необработанные ошибки в промисах на Node.js](https://youtu.be/1Ml5NE2fsZ8)

## [Проблема асинхронного стектрейса в JavaScript и Node.js](https://youtu.be/pfiHTx3j87Y)

## [Логирование на Node.js и JavaScript](https://youtu.be/4DkZj2Cdokc)

## [Graceful Shutdown в Node.js](https://youtu.be/ZstnowFeCe0)

## [Безопасность приложений Node.js Security](https://youtu.be/Pdfo1G-gI6s)

## [Serverless Clouds (FaaS) и изоляция контекстов запросов в Node.js](https://youtu.be/x-Rd6fPV6L8)

## [Node.js в 2021: обзор платформы и вызовы на следующее десятилетие](https://youtu.be/nnB7ADYso8s)

## [Семинар: Node.js в 2021, ответы на вопросы и обсуждение](https://youtu.be/zYRDhxj0zhQ)

## [GRASP принципы с адаптацией для JavaScript и Node.js](https://youtu.be/ExauFjYV_lQ)

- [05:03  Information Expert](https://youtu.be/ExauFjYV_lQ?t=303)
- [13:06  Creator](https://youtu.be/ExauFjYV_lQ?t=786)
- [18:15  Cohesion & Coupling](https://youtu.be/ExauFjYV_lQ?t=1095)
- [21:33  Controller](https://youtu.be/ExauFjYV_lQ?t=1293)
- [24:58  Polymorphism](https://youtu.be/ExauFjYV_lQ?t=1498)
- [31:55  Indirection](https://youtu.be/ExauFjYV_lQ?t=1915)
- [34:34  Pure Fabrication](https://youtu.be/ExauFjYV_lQ?t=2074)
- [38:36  Protected Variations](https://youtu.be/ExauFjYV_lQ?t=2316)

## [GRASP: принцип информационный эксперт с адаптацией для JavaScript и Node.js](https://youtu.be/cCHL329_As0)

## [GRASP: Зацепление и связность в JavaScript и Node.js - coupling and cohesion](https://youtu.be/IGXdPOZ3Fyk)

## [GRASP: Чистая выдумка для JavaScript и Node.js - Pure Fabrication](https://youtu.be/CV577a0RHBM)

## [GRASP: Декомпозиция класса Application из библиотеки impress технологического стека Metarhia](https://youtu.be/4AMVQ2-2DcM)

## [Node.js - плохие подходы и хорошие стороны - Postindustria Podcast](https://youtu.be/oEyS_TNiw2g)

## [Node.js модули: ECMA, Common.js, Module API](https://youtu.be/CJr2vS3hjMU)

- [01:02  export модулей](https://youtu.be/CJr2vS3hjMU?t=62)
- [03:00  require модулей](https://youtu.be/CJr2vS3hjMU?t=180)
- [05:35  require-resolve модулей](https://youtu.be/CJr2vS3hjMU?t=335)
- [12:15  cache](https://youtu.be/CJr2vS3hjMU?t=735)
- [18:38  немного об singleton](https://youtu.be/CJr2vS3hjMU?t=1118)
- [19:53  модуль global](https://youtu.be/CJr2vS3hjMU?t=1193)
- [20:43  пример с mixin-ами](https://youtu.be/CJr2vS3hjMU?t=1243)
- [25:13  пример ecma скрипт модуля - export](https://youtu.be/CJr2vS3hjMU?t=1513)
- [26:10  пример ecma скрипт модуля - import](https://youtu.be/CJr2vS3hjMU?t=1570)
- [27:20  пример динамического импорта](https://youtu.be/CJr2vS3hjMU?t=1640)
- [31:10  загрузка ф-ии createRequire](https://youtu.be/CJr2vS3hjMU?t=1870)
- [41:00  подгрузка module через require](https://youtu.be/CJr2vS3hjMU?t=2460)
- [43:40  подгрузка module через import](https://youtu.be/CJr2vS3hjMU?t=2620)

## [Node.js модули и пакеты формата ECMA и CommonJS, использование package.json и node_modules](https://youtu.be/31sX_3IbXs4)

- [01:00  подгрузка пакетов package](https://youtu.be/31sX_3IbXs4?t=60)
- [05:40  загрузка пакетов](https://youtu.be/31sX_3IbXs4?t=340)
- [09:00  подгрузка файлов нового формата .mjs](https://youtu.be/31sX_3IbXs4?t=540)
- [10:47  импорт ecma скрипт модулей с .js файлов](https://youtu.be/31sX_3IbXs4?t=647)
- [13:20  export пакетов](https://youtu.be/31sX_3IbXs4?t=800)
- [22:30  сравнение cache-й модулей](https://youtu.be/31sX_3IbXs4?t=1350)

## [Асинхронный пул для worker thread pool в Node.js](https://youtu.be/Jj5KZRq4wYI)

## [Контрактное программирование с примерами на JavaScript и Node.js](https://youtu.be/K5_kSUvbGEQ)

## [Hacktoberfest 2021: лайвкодинг и ревью кода, Node.js worker_threads и thread pool для Metarhia](https://youtu.be/qipIRQptP_4)
